He estado desarrollando un proyecto C++ de Visual Studio (2012) y me pregunto cuál sería la forma más conveniente de poder copiarlo a Linux para poder volver a compilar todo el proyecto allí. Suponga que C++ es independiente de la plataforma.
¿Sería un caso de copiar todos los archivos .h y .cpp manualmente en una carpeta, copiar esa carpeta a Linux y luego de alguna manera crear un script (makefile?) Que controle cómo se compilan los archivos? No estoy muy seguro de si un archivo MAKE es lo que necesito, pero ¿algún mecanismo para poder compilar todo el proyecto desde un comando en la terminal?
Para la parte física, la solución más fácil es tomar las fuentes de su Sistema de control de versiones. Eso se encargará de la traducción \r\n -> \n en sus archivos .cpp y .h.
En el lado de Linux, prácticamente cualquier herramienta de compilación es superior a raw make . make es realmente el lenguaje ensamblador de los sistemas de construcción; su herramienta puede producir un makefile como intermediario, pero no intente mantener eso.
Sí, copie los archivos (o como dice @MSalters, obtenga una copia nueva) y luego construya un .vcxproj alternativo para las herramientas de compilación de Linux. Tenga en cuenta que el archivo de proyecto de Visual Studio es realmente un tipo de archivo MAKE muy elegante.
Un archivo MAKE en su forma más simple es solo una lista de archivos (o incluso tipos de archivos) y un comando para ejecutarlos. Una vez que haya escrito eso, la compilación es tan simple como ejecutar MSBuild en un archivo .sln.
Por lo tanto, debe decidir qué sistema de compilación usar en Linux: está CMake, que es un generador de archivos MAKE, y varios otros sistemas disponibles.
Alguien ha creado una herramienta que analiza el archivo del proyecto VS y puede generar un archivo MAKE a partir de él, pero no es compatible con VS2012 (aunque puede arreglar esto, contribuir)